package hello

import "fmt"

/*
函数方法:
 一个方法就是一个包含了接受者的函数，接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集

func (variable_name variable_data_type) function_name() [return_type]{
   // 函数体
}


此程序 功能相当于java中的 类的方法函数

class Circle {
  private  float radius;
  public   float getArea() {
       return 3.14 * radius * radius;
    }
}

*/

/* 定义结构体 */
type Circle struct {
	radius float64
}

func StructTest4() {
	fmt.Println("------------ struct Test() --------------")
	var c1 Circle
	c1.radius = 10.00
	fmt.Printf("struce =%v\n", c1)
	fmt.Printf("struce# =%#v\n", c1)
	fmt.Printf("struce+ =%+v\n", c1)
	fmt.Println("圆的面积 = ", c1.getArea())

}

//该 method 属于 Circle 类型对象中的方法
func (c Circle) getArea() float64 {
	//c.radius 即为 Circle 类型对象中的属性
	return 3.14 * c.radius * c.radius
}
